/**
 * Project Name:dsrs-systemservice-dao
 * File Name:DatadictMapper.java
 * Package Name:com.bwda.dsrs.systemservice.mapper;
 * Date:2019年4月28日
 * Copyright (c) 2019, 江苏保旺达软件有限公司 All Rights Reserved.
 *
 */
package com.bwda.dsrs.systemservice.mapper;


import com.bwda.dsrs.systemservice.domain.condition.datadict.DatadictCondition;
import com.bwda.dsrs.systemservice.domain.po.datadict.DatadictPo;

import java.util.List;

/**
 * 数据字典
 *
 * @author liangjianyong
 * @date 2019/4/27
 */
public interface DatadictMapper extends BaseMapper<DatadictPo, DatadictCondition> {

    /**
     * 查询下一个序列
     * @return
     */
    Integer queryId();

    /**
     * 批量新增
     * @param datas
     */
    void insertBatch(List<DatadictPo> datas);

    /**
     * 根据typecode查询下一个排序值（当前最大的order+1）
     * @param queryNextOrder
     * @return
     */
    Integer queryNextOrder(String queryNextOrder);

    /**
     * 查询数量（返回带dataDicTypeName）
     * @param datadictCondition 可以根据类型名称模糊查询
     * @return
     */
    int countWithTypeName(DatadictCondition datadictCondition);

    /**
     * 查询（返回带dataDicTypeName）
     * @param datadictCondition 可以根据类型名称模糊查询
     * @return
     */
    List<DatadictPo> selectListWithTypeName(DatadictCondition datadictCondition);


    /**
     * 禁用此类型下所有数据
     * @param datadicTypeCode
     */
    void updateStatusByTypeCode(String datadicTypeCode);

    /**
     * 查询当前排序的最大值
     * @return
     */
    Integer selectMaxOrderNum();

    /**
     * 查询是否存在相同的弱密码
     * @param condition
     * @return
     */
    int selectByvalue(DatadictCondition condition);


    /**
     * 根据类型查询有无数据
     * @param datadicTypeCode
     * @return
     */
    int selectCountByType(String datadicTypeCode);
}